package com.handinglian.ai.callin.mapper;

import com.handinglian.ai.callin.dto.CallInDto;
import com.handinglian.ai.callin.entity.CallIn;
import java.util.List;

import com.handinglian.ai.system.dto.AdvisoryTypeDto;
import com.handinglian.ai.system.dto.BusinessDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface CallInMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(CallIn record);

    int insertOrUpdate(CallIn record);

    int insertOrUpdateSelective(CallIn record);

    int insertSelective(CallIn record);

    CallIn selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(CallIn record);

    int updateByPrimaryKey(CallIn record);

    int updateBatch(List<CallIn> list);

    int batchInsert(@Param("list") List<CallIn> list);

    List<CallInDto> list(@Param("likeCallerNo")String likeCallerNo, @Param("phoneStatuses")List<Integer> phoneStatuses, @Param("sortField")String sortField, @Param("sortOrder")String sortOrder);

    Integer countDistinctCallerNo();

    Integer count();

    List<BusinessDto> listBusiness();

    List<AdvisoryTypeDto> listAdvisoryType();
}